package daoImpl;

import java.util.List;

import classes.Funcionario;
import classes.Produto;
import dao.IProdutoDAO;

public class ProdutoDAOImpl extends GenericDAOImpl<Produto> implements IProdutoDAO{

	@Override
	public void inserir(Produto entidade) {
		this.getManager().getTransaction().begin();
		this.getManager().persist(entidade);
		this.getManager().getTransaction().commit();
	}

	@Override
	public void atualizar(Produto entidade) {
		this.getManager().getTransaction().begin();
		this.getManager().merge(entidade);
		this.getManager().getTransaction().commit();
	}

	@Override
	public void remover(Integer id) {
		Produto produto_localizado = this.getManager().find(Produto.class, id);
		this.getManager().getTransaction().begin();
		this.getManager().remove(produto_localizado);
		this.getManager().getTransaction().commit();
	}

	@Override
	public List<Produto> consultarTodos() {
	
		this.getManager().getTransaction();
		List<Produto> lista = this.getManager().createQuery("select*from produto").getResultList();
		this.getManager().close();
		return lista;
	}

	@Override
	public Produto consultarPorId(Integer id) {
		Produto produto_localizado = this.getManager().find(Produto.class, id);
		return produto_localizado;
	}

}
